﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace Spymaster.Entities
{
    public abstract class GameEntity
    {
        private Vector2 position = new Vector2();
        public Vector2 Position
        {
            get { return position; }
            set { position = value; }
        }

        private float rotation = MathHelper.ToRadians(0);
        public float Rotation
        {
            get { return rotation; }
            set { rotation = value; }
        }

        private Texture2D entityImage;
        public Texture2D EntityImage
        {
            get { return entityImage; }
            set { entityImage = value; }
        }

        public bool DestroyOnNextUpdate = false;

        public GameEntity()
        {
            Initialize();
        }

        public abstract void Initialize();

        public abstract void Update(GameTime gameTime);

        public abstract void Draw(GameTime gameTime, SpriteBatch spriteBatch);
    }
}
